home *** CD-ROM | disk | FTP | other *** search
Text File | 1992-01-09 | 5.5 KB | 198 lines | [TEXT/PARZ] |
- START
- 127 PE
- 3 PORTS
- SCALAR I2 R1 R127 I2 R1
- VECTOR I1 R3
- 1 : GOTO 134;
- 2 : PROC 1 VECTOR I1;
- POPV VI1:1;
- VI[VI1:1] := 0;
- PUSHV VI1:1;
- RETURN;
- 3 : PROC 1;
- ERROR "value out of range";
- RETURN;
- 4 : PROC 1
- SCALAR
- VECTOR I2 I1 B1; group number 1
- PUSHV ADDR VI1:2;
- 5 : VI1:1 := ID - 1; for TREE calculating DIMi
- VI1:1 := VI1:1 + 1; DIM1
- 6 : VI1:3 := 2 * VI1:1;
- 7 : VI1:3 := VI1:3 - 1;
- 8 : VI1:2 := VI1:3;
- VI1:2 := VI1:2 + 1;
- IF VI1:3 < 0 CALL 2;
- IF VI1:3 > 126 CALL 2;
- CONNECT 1 TO 2 AT VI1:2;
- 9 : VI1:3 := 2 * VI1:1;
- 10 : VI1:3 := VI1:3 + 1;
- 11 : VI1:3 := VI1:3 - 1;
- 12 : VI1:2 := VI1:3;
- VI1:2 := VI1:2 + 1;
- IF VI1:3 < 0 CALL 2;
- IF VI1:3 > 126 CALL 2;
- CONNECT 3 TO 2 AT VI1:2;
- 13 : VI1:3 := VI1:1 MOD 2;
- 14 : VB1:1 := VI1:3;
- 15 : VB1:1 := NOT VB1:1;
- 16 : IF VB1:1 CALL 17;
- GOTO 22;
- 17 : PROC 2;
- 18 : VI1:3 := VI1:1 / 2;
- 19 : VI1:3 := VI1:3 - 1;
- 20 : VI1:2 := VI1:3;
- VI1:2 := VI1:2 + 1;
- IF VI1:3 < 0 CALL 2;
- IF VI1:3 > 126 CALL 2;
- CONNECT 2 TO 1 AT VI1:2;
- 21 : RETURN;
- 22 : VI1:3 := VI1:1 MOD 2;
- 23 : VB1:1 := VI1:3;
- 24 : IF VB1:1 CALL 25;
- GOTO 30;
- 25 : PROC 2;
- 26 : VI1:3 := VI1:1 / 2;
- 27 : VI1:3 := VI1:3 - 1;
- 28 : VI1:2 := VI1:3;
- VI1:2 := VI1:2 + 1;
- IF VI1:3 < 0 CALL 2;
- IF VI1:3 > 126 CALL 2;
- CONNECT 2 TO 3 AT VI1:2;
- 29 : RETURN;
- 30 : POPV VI1:2;
- 31 : RETURN; group number : 1
- 32 : PROC 1; configuration : TREE
- VI0:1 := ID - 1; for TREE calculating DIMi
- VI0:1 := VI0:1 + 1; DIM1
- RETURN; configuration : TREE
- 33 : PROC 1
- SCALAR I1 I1
- VECTOR R2 I1 R1 ; GAUSS
- 34!23 : VR1:2 := 0.00000; line 23 column 2
- 35!24 : SI1:1 := 1; line 24 column 2
- 36 : SI1:2 := 4;
- 37!24 : IF SI1:1 > SI1:2 GOTO 43; line 24 column 2
- 38!24 : VI1:1 := RANDOM; line 24 column 19
- 39 : VR1:3 := VI1:1;
- 40 : VR1:2 := VR1:2 + VR1:3;
- 41 : SI1:1 := SI1:1 + 1;
- 42 : GOTO 37;
- 43!25 : VR1:3 := 5.28596e-05 * VR1:2; line 25 column 2
- 44 : VR1:1 := VR1:3 - 3.46410;
- 45 : GOTO 46; RETURN
- 46!26 : PUSHV VR1:1;
- 47 : RETURN; GAUSS
- 48 : PROC 1
- SCALAR I1 B1 I2 ; INORDER
- 49!28 : POPS SI1:1;
- 50!31 : SB1:1 := SI1:1 <= 127; line 31 column 2
- 51 : IF SB1:1 = FALSE GOTO 66;
- 52!32 : SI1:2 := 2 * SI1:1; line 32 column 4
- 53 : PUSHS SI1:2;
- 54 : CALL 48; INORDER
- 55!33 : IF SI1:1 < 1 CALL 3; line 33 column 6
- 56 : IF 127 < SI1:1 CALL 3;
- 57 : SI1:2 := ADDR SR0:2 - SIZE( R1 );
- 58 : SI1:3 := SI1:1 * SIZE( R1 );
- 59 : SI1:2 := SI1:2 + SI1:3;
- 60 : WRITE SR[SI1:2] 10 3;
- 61!34 : WRITE EOL; line 34 column 6
- 62!35 : SI1:2 := 2 * SI1:1; line 35 column 4
- 63 : SI1:2 := SI1:2 + 1;
- 64 : PUSHS SI1:2;
- 65 : CALL 48; INORDER
- 66!37 : RETURN; INORDER
- 67 : PROC 1
- SCALAR R1 I4 I1 B1
- VECTOR B3 R2 I1 ; MIDPOINTREC
- 68!39 : POPS SI1:1;
- 69 : POPS SR1:1;
- 70!43 : SI1:5 := SI1:1 - 1; line 43 column 2
- 71 : SI1:2 := 2 ^ SI1:5;
- 72!44 : SI1:5 := 2 * SI1:2; line 44 column 2
- 73 : SI1:3 := SI1:5 - 1;
- 74!45 : SI1:5 := 2 * SI1:3; line 45 column 2
- 75 : SI1:4 := SI1:5 + 1;
- 76!47 : CALL 32; line 47 column 2
- 77!48 : VB1:1 := TRUE; line 48 column 4
- 78 : VB1:3 := SI1:2 <= ID;
- 79 : IF VB1:3 = FALSE CALL 82;
- 80 : IF VB1:1 CALL 85;
- 81 : GOTO 89;
- 82 : PROC 2;
- 83 : VB1:1 := FALSE;
- 84 : RETURN;
- 85 : PROC 2;
- 86 : VB1:3 := ID <= SI1:3;
- 87 : VB1:1 := VB1:3;
- 88 : RETURN;
- 89 : IF VB1:1 CALL 91;
- 90 : GOTO 99;
- 91 : PROC 2;
- 92!49 : VR1:2 := VR0:2 + VR0:3; line 49 column 6
- 93 : VR1:2 := 0.500000 * VR1:2;
- 94 : CALL 33; GAUSS
- 95 : POPV VR1:1;
- 96 : VR1:1 := SR1:1 * VR1:1;
- 97 : VR0:1 := VR1:2 + VR1:1;
- 98 : RETURN;
- 99!53 : VB1:1 := TRUE; line 53 column 4
- 100 : VB1:3 := SI1:2 <= ID;
- 101 : IF VB1:3 = FALSE CALL 104;
- 102 : IF VB1:1 CALL 107;
- 103 : GOTO 111;
- 104 : PROC 2;
- 105 : VB1:1 := FALSE;
- 106 : RETURN;
- 107 : PROC 2;
- 108 : VB1:3 := ID <= SI1:4;
- 109 : VB1:1 := VB1:3;
- 110 : RETURN;
- 111 : IF VB1:1 CALL 113;
- 112 : GOTO 133;
- 113 : PROC 2;
- 114!55 : PROPAGATE VR0:2 OUT 1 IN 2; line 55 column 6
- 115!56 : PROPAGATE VR0:3 OUT 3 IN 2; line 56 column 6
- 116!57 : PROPAGATE VR0:1 OUT 1 IN 2; line 57 column 6
- 117!58 : PROPAGATE VR0:1 OUT 3 IN 2; line 58 column 6
- 118!59 : VI1:1 := ID MOD 2; line 59 column 6
- 119 : VB1:3 := VI1:1;
- 120 : VB1:3 := NOT VB1:3;
- 121 : VB1:2 := TRUE;
- 122 : IF VB1:3 CALL 128;
- 123 : IF VB1:2 CALL 125;
- 124 : GOTO 132;
- 125 : PROC 2;
- 126!59 : VR0:2 := VR0:1; line 59 column 39
- 127 : RETURN;
- 128 : PROC 2;
- 129 : VB1:2 := FALSE;
- 130!59 : VR0:3 := VR0:1; line 59 column 26
- 131 : RETURN;
- 132 : RETURN;
- 133!62 : RETURN; MIDPOINTREC
- 134 : CALL 4; connections
- 135!66 : CALL 32; line 66 column 2
- 136!67 : VR0:2 := 0.00000; line 67 column 4
- 137!68 : VR0:3 := 1.00000; line 68 column 4
- 138!69 : VR0:1 := 0.00000; line 69 column 4
- 139!71 : SI0:1 := 1; line 71 column 2
- 140 : SI0:3 := 7;
- 141!71 : IF SI0:1 > SI0:3 GOTO 151; line 71 column 2
- 142!72 : SI0:4 := SI0:1 + 1; line 72 column 4
- 143 : SR0:129 := SI0:4;
- 144 : SR0:129 := SR0:129 / 2.00000;
- 145 : SR0:1 := 0.500000 ^ SR0:129;
- 146!73 : PUSHS SR0:1; line 73 column 4
- 147 : PUSHS SI0:1;
- 148 : CALL 67; MIDPOINTREC
- 149 : SI0:1 := SI0:1 + 1;
- 150 : GOTO 141;
- 151!75 : CALL 32; line 75 column 2
- 152 : STORE VR0:1 TO SR0:2;
- 153!76 : PUSHS 1; line 76 column 2
- 154 : CALL 48; INORDER
- 155 : END; FRACTAL
- STOP
-